package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.util.List;

/**
 * Created by pjn on 2017/9/20.
 */
public interface MachineLocationCountService {

    /**
     * @Description: 位置统计datatable
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:14
     */
    public DTResponseDto getMachine4DT(Integer userId, Integer orgId, DTRequestDto dtRequestDto) throws Exception;

    /**
     * @Description: 得到表中的全部省份
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:12
     */
    public List<String> getProvinceName(Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 按照省份得到城市
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:12
     */
    public List<String> getCityName(Integer userId, Integer orgId, String provinceName) throws Exception;


    /**
     * @Description: 获取表中的城市下所有区域名
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:12
     */
    public List<String> getAllAreaName(Integer userId, Integer orgId, String provinceName, String cityName) throws Exception;


    /**
     * @Description: 获取起始路段
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:13
     */
    public List<String> getStartRoadName(Integer userId, Integer orgId, String provinceName, String cityName,
                                         String areaName, String endRoadName) throws Exception;

    /**
     * @Description: 根据起始路段获取终止路段
     * @Author: pan-jianan
     * @Date: 2017/9/20 14:13
     */
    public List<String> getEndRoadName(Integer userId, Integer orgId, String startRoad, String provinceName, String cityName,
                                       String areaName) throws Exception;

    /**
     * @Description: 获取标志类型数量
     * @Author: pan-jianan
     * @Date: 2017/9/21 14:25
     */
    public List<Integer> getSignalMachineTypeCounts(Integer userId, Integer orgId, String time, String province, String city, String area) throws Exception;

    /**
     * @Description: 得到excel需要的信息
     * @Author: yang_jiaren
     * @Date: 2017/5/18 17:45
     */
    public HSSFWorkbook downMachineByExcel(String search, Integer userId, Integer orgId) throws Exception;
}
